//
//  World.h
//  CompGraf2
//
//  Created by Juan Niosi on 01/11/11.
//  Copyright 2011 __MyCompanyName__. All rights reserved.
//

#import <Foundation/Foundation.h>
#import "Entity.h"
#import "CharacterController.h"
#import "Terrain.h"
#import "OrbitCam.h"
#import "Enemy.h"
#import "Light.h"

@interface World : NSObject
{
    NSMutableArray *entities;
    NSMutableArray *enemies;
    NSMutableArray *lights;
    Terrain *terrain;
    OrbitCam *camera;
    CharacterController *mainCharacter;
    NSArray *path;
}
@property (nonatomic, retain) NSMutableArray *entities;
@property (nonatomic, retain) NSMutableArray *enemies;
@property (nonatomic, retain) NSMutableArray *lights;
@property (nonatomic, retain) NSArray *path;
@property (nonatomic, retain) Terrain *terrain;
@property (nonatomic, retain) OrbitCam *camera;
@property (nonatomic, retain) CharacterController *mainCharacter;

- (void)addEntity:(Entity *)ent;
- (void)addEnemy:(Enemy *)en;
- (void)addLight:(Light *)li;

- (void)removeEntity:(Entity *)ent;
- (void)removeEnemy:(Enemy *)en;
- (void)removeLight:(Light *)li;

-(void)worldClic:(CGPoint)point;
-(void)floorClic:(CGPoint)point;
-(bool)entityClic:(CGPoint)point :(Entity *)ent;
+(World *)getWorld;
@end
